#pragma once
#include "../../basicclass.h"
#include "../../StdAfx.h"
#include "AseLoadMng.h"
#include "AseStructure.h"

class CAseRender :
	public CBasicClass
{
public:
	int					m_nNumMaterial;
	CAseLoadMng			m_AsePhaser;
	CAseStructure		m_Object;

	bool				m_bLight;
	int					m_iLightType;
	bool				m_bZBuffer;
	int					m_iWireFrame;
	bool				m_bBoneView;

	float				m_fCurFrame;
	int					m_iSpeedLevel;

	int					m_iFirstTick;
	int					m_iLastTick;
	int					m_iFrameSpeed;
	int					m_iTickPerFrame;

	ANIMATIONTRACK*		m_pAniTrack;
	ANIMATRIX*			m_pAniMatrix;

public:
	bool				Init();
	//bool				Init( char* strFileName );
	bool				Frame();
	bool				Render();
	bool				Release();

	bool				PlayAnimation();
	bool				GetAnimationMatrix( ANIMATRIX* pAniMat , D3DXMATRIXA16* pMat );
	ANIMATIONTRACK*		GetAnimationTrack( float fFrame , ANIMATIONTRACK* pAnim , int iType , OUT ANIMATIONTRACK** pNext );
	bool				BoneAnimation( D3DXMATRIXA16* pMat );
	bool				Animation( D3DXMATRIXA16* pMat );

public:
	CAseRender(void);
	~CAseRender(void);
};
